// pages/register/register.js
Page({
    data: {
        phone: '',
        verifyCode: '',
        password: '',
        confirmPassword: '',
        realName: '',
        isAgree: false,
        countdown: 60,
        isCounting: false
    },

    // 输入框事件处理
    inputPhone(e) {
        this.setData({
            phone: e.detail.value
        });
    },

    inputVerifyCode(e) {
        this.setData({
            verifyCode: e.detail.value
        });
    },

    inputPassword(e) {
        this.setData({
            password: e.detail.value
        });
    },

    inputConfirmPassword(e) {
        this.setData({
            confirmPassword: e.detail.value
        });
    },

    inputRealName(e) {
        this.setData({
            realName: e.detail.value
        });
    },

    // 协议勾选
    checkboxChange(e) {
        this.setData({
            isAgree: e.detail.value.length > 0
        });
    },

    // 获取验证码
    getVerifyCode() {
        if (this.data.isCounting) return;

        // 验证手机号
        if (!this.data.phone) {
            wx.showToast({
                title: '请输入手机号',
                icon: 'none'
            });
            return;
        }
        if (!/^1[3-9]\d{9}$/.test(this.data.phone)) {
            wx.showToast({
                title: '手机号格式不正确',
                icon: 'none'
            });
            return;
        }

        // 开始倒计时
        this.setData({
            isCounting: true
        });
        this.startCountdown();

        // TODO: 调用获取验证码接口
        wx.showToast({
            title: '验证码已发送',
            icon: 'success'
        });
    },

    // 倒计时
    startCountdown() {
        let count = this.data.countdown;
        const timer = setInterval(() => {
            count--;
            if (count <= 0) {
                clearInterval(timer);
                this.setData({
                    isCounting: false,
                    countdown: 60
                });
            } else {
                this.setData({
                    countdown: count
                });
            }
        }, 1000);
    },

    // 注册提交
    /**
     * 提交注册表单
     * 1. 验证手机号、验证码、密码、确认密码、真实姓名和用户协议是否填写
     * 2. 所有字段验证通过后显示加载中状态
     * 3. 模拟注册成功后显示成功提示并自动跳转回上一页
     * 注意：当前为模拟注册流程，TODO部分需要替换为实际注册接口调用
     */
    submitRegister() {
        // 表单验证
        if (!this.data.phone) {
            wx.showToast({
                title: '请输入手机号',
                icon: 'none'
            });
            return;
        }
        if (!this.data.verifyCode) {
            wx.showToast({
                title: '请输入验证码',
                icon: 'none'
            });
            return;
        }
        if (!this.data.password) {
            wx.showToast({
                title: '请输入密码',
                icon: 'none'
            });
            return;
        }
        if (this.data.password !== this.data.confirmPassword) {
            wx.showToast({
                title: '两次密码输入不一致',
                icon: 'none'
            });
            return;
        }
        if (!this.data.realName) {
            wx.showToast({
                title: '请输入真实姓名',
                icon: 'none'
            });
            return;
        }
        if (!this.data.isAgree) {
            wx.showToast({
                title: '请阅读并同意用户协议',
                icon: 'none'
            });
            return;
        }

        // TODO: 调用注册接口
        wx.showLoading({
            title: '注册中...',
        });

        // 模拟注册成功
        setTimeout(() => {
            wx.hideLoading();
            wx.showToast({
                title: '注册成功',
                icon: 'success',
                duration: 2000,
                success: () => {
                    // 延迟跳转到登录页
                    setTimeout(() => {
                        wx.navigateBack();
                    }, 2000);
                }
            });
        }, 1500);
    }
  
});